package com.example.airobotinterviewrecord.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("interview_record")
@ApiModel(value="InterviewRecord对象", description="面试记录表")
public class InterviewRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "候选人ID")
    @TableField("candidate_id")
    private Integer candidateId;

    @ApiModelProperty(value = "职位ID")
    @TableField("position_id")
    private Integer positionId;

    @ApiModelProperty(value = "面试安排ID")
    @TableField("schedule_id")
    private Integer scheduleId;

    @ApiModelProperty(value = "数字人面试官ID")
    @TableField("digital_interviewer_id")
    private Integer digitalInterviewerId;

    @ApiModelProperty(value = "面试日期")
    @TableField("interview_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate interviewDate;

    @ApiModelProperty(value = "面试时长(分钟)")
    @TableField("duration")
    private Integer duration;

    @ApiModelProperty(value = "评分(0-100)")
    @TableField("score")
    private Integer score;

    @ApiModelProperty(value = "面试官评语")
    @TableField("comments")
    private String comments;

    @ApiModelProperty(value = "状态(1:未通过 2:通过 3:待定)")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "创建时间")
    @TableField("created_at")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdAt;

    @ApiModelProperty(value = "更新时间")
    @TableField("updated_at")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updatedAt;


}
